package com.jlkf.service;


import java.util.List;
import java.util.Map;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.jlkf.pojo.TblOrder;
import com.platform.server.response.response.pojo.ReturnData;

public interface CourseInfoService {
	
	/**
	 * 查看课程一级分类
	 */
	ReturnData selectCourseOneStair();
	
	/**
	 * 查看课程二级跟三级分类
	 */
	ReturnData selectCourseTwoStair(Integer id);
	
	/**
	 * 查看课程三级分类
	 */
	ReturnData selectCourseThreeStair(Integer id);
	
	/**
	 * 查看特色课程一级分类
	 */
	ReturnData selectFeatureCourseOneStair();
	
	/**
	 * 查看特色课程二级跟三级分类
	 */
	ReturnData selectFeatureCourseTwoStair(Integer id);
	
	/**
	 * 查看特色课程三级分类
	 */
	ReturnData selectFeatureCourseThreeStair(Integer id);
	
	 /**
     * pc端热搜列表
     */
	ReturnData selectTopSearch();
	
	 /**
     * 查看课程分类视频列表
     */
	ReturnData selectCourseSortList(Integer one_stair_id,Integer two_stair_id,Integer three_stair_id,Integer difficulty,String type,String param,Integer pageSize, Integer pageNo);

	/**
     * pc端搜索课程或老师列表
     */
	ReturnData searchCourseandTeacher(String content,Integer difficulty,String type,Integer teacherid,String param,Integer pageSize, Integer pageNo);
	
	 /**
     * 课程目录列表
     */
	ReturnData selectCourseCatalogList(Integer courseid,Integer userid);
	
	 /**
     * pc端推荐课程列表
     */
	ReturnData selectRecommendCourseList(Integer userid);
	
	 /**
     * pc端课程详情
     */
	ReturnData selectCourseInfo(Integer courseid,Integer userid);
	
	/**
	 * 确认订单
	 */
	ReturnData sureOrder(Integer userid,Integer courseid,String lessid);
	
	/**
	 * 单个课时确认订单
	 */
	ReturnData singleSureOrder(Integer userid,Double money,Integer lessonid);
	
	/**
	 * 确认支付
	 */
	ReturnData surePay(TblOrder tblOrder);
	
	/**
	 * pc端微信或支付宝或余额支付课程
	 */
	ReturnData PcCoursePay(String id,Integer userid,Double money,Integer type,String password)throws Exception;
	
	/**
	 * app端微信或支付宝或余额支付课程
	 */
	ReturnData AppCoursePay(String id,Integer userid,Double money,Integer type,String password,String body, String subject,String ip)throws Exception;

	/**
     * 学习课程视频获得积分与成长值
     */
	ReturnData insertUserIntegral(Integer userid,Integer lessonid,Integer courseid);
	
	/**
     * 查看课程评价列表
     */
	ReturnData selectCourseCommentList(Integer courseid,String level);
	
	/**
     * pc发布课程评价
     */
	ReturnData insertCourseComment(Integer course_id,Integer sender_id,String content,String level) throws Exception;
	
	 /**
     * pc端全部作业
     */
	ReturnData selectPcAllJob(Integer courseid);
	
	 /**
     * 开始学习
     */
	ReturnData insertLessonStudy(Integer userid,Integer courseid,Integer lessonid);
	
	/**
     * 三大分类列表
     */
	ReturnData selectBigSortList(Integer type,Integer param,Integer pageSize, Integer pageNo,Integer userid); 
	
	/**
	 * 查看体系列表详情
	 */
	ReturnData selectBigSortDetails(Integer type,Integer professionid,Integer userid);
	
	/**
	 * 查看体系列表详情
	 */
	ReturnData APPselectBigSortDetails(Integer type,Integer professionid,Integer userid);
	
	 /**
     * 学习中心（查看我的课程）
     */
	ReturnData selectMyCourse(Integer userid,Integer pageSize, Integer pageNo);
	
	 /**
     * 学习中心（我的作业）
     */
	ReturnData selectMyLearningWork(Integer userid);
	
	 /**
     * 学习中心（我的职业）
     */
	ReturnData selectMyJobCourse(Integer userid,Integer type,Integer pageSize, Integer pageNo);
	
	  /**
     * 历史记录列表
     */
	ReturnData selectHistoryRecord(Integer userid);
	
	 /**
     * 删除历史记录
     */
	ReturnData deleteHistoryRecord(Integer userid);
	
	  /**
     * 收藏老师
     */
	ReturnData collectTeacher(Integer userid,Integer teacherid);
	
	 /**
     * 取消收藏老师
     */
	ReturnData cancelCollectTeacher(Integer userid,Integer teacherid);
	
	/**
     * 查看特色课程分类视频列表
     */
	ReturnData selectFeatureCourseSortList(Integer one_stair_id,Integer two_stair_id,Integer three_stair_id,Integer difficulty,String type,Integer pageSize, Integer pageNo,Integer param);

	 /**
     * 我的就业班
     */
	ReturnData selectMyEmployment(Integer userid);
	
	 /**
     * 根据课程名称自动联想筛选     
     */
	ReturnData searchCourseAssociate(String courseName);
	
	 /**
     * 学习课程获得成长值
     */
	ReturnData getGrowthValue(Integer courseid,Integer userid);
	
	/**
	 * 三大体系确认订单
	 */
	ReturnData systemSureOrder(Integer userid, Integer professionid,Integer type);
	
	/**
	 * 三大体系确认订单
	 */
	ReturnData systemSurePay(TblOrder order);
	
	/**
	 * pc端微信或支付宝或余额支付系列课程
	 */
	ReturnData PcSystemCoursePay(String orderid, Integer userid,Double money,Integer type,String password)throws Exception ;
	
	/**
	 * app支付三大体系课程
	 */
	ReturnData AppSystemCoursePay(String id,Integer userid,Double money,Integer type,String body, String subject,String ip)throws Exception;

	/**
     * 职业方向列表
     */
	ReturnData selectJobList();
	
	/**
	 * 线下或直播课程
	 */
    ReturnData getOtherCourseList(Integer type);
    
    /**
     * 填写表单
     */
    ReturnData insertForm(String username,String phone,String school,String grade,String specialty);
    
}
